// components/custom-observers/custom-observers.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    // 下面接收有啥作用
    lable:{
      type:String,
      value:'测试'
    }

  },

  /**
   * 组件的初始数据
   */
  data: {
    num: 10,
    count: 100,
    obj: {
      name: "wang",
      age: 20
    },
    arr: [1, 2, 33, 4, 5]
  },

  // 用来监听数据是否发生变化  是一个对象  
  observers: {
      // 只监听 num 数据是否发生变化
    // num: function(newnum){
    //   console.log(newnum + "oooooo")
    // }

    // 同时监听  num  count  obj对象中的name,数组中的数据
    'num, count, obj.name, arr[2]': function(newnum, newcount, newname, newarr){
      console.log(newnum, newcount, newname, newarr);
    },

    //监听arr数组中某一项是否发生变化
    'arr[2]': function(arrr){
      console.log(arrr)
    },

    arr: function(arrrr){
      console.log(arrrr)
    },

    // 使用通配符监听
    'obj.**':function(newbojj){
      console.log(newbojj)
    },

  // 监听自定义组件中 lable 传递的数据变化   监听参数数据变化
  lable:function(newlable){
    console.log(newlable)
  },


  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 更新数据
    observerss() {
      this.setData({
        num: this.data.num + 1,
        count: this.data.count - 1,
        'obj.name':"ooo",
        'obj.age':22,
        
        'arr':[1,2,3],
        'arr[2]': 9,
        lable:'nihao',
      })

    

    }

  }
})